package com.ruoyi.quality.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.quality.domain.TIndexData2;
import com.ruoyi.quality.domain.TQualityFileItem;
import com.ruoyi.quality.domain.dto.*;
import com.ruoyi.safe.domain.BizExtensionRequests;
import com.ruoyi.safe.domain.BizRectifyReview;
import com.ruoyi.safe.domain.dto.BizRectifyReviewDTO;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * 质量问题拆分明细Service接口
 * 
 * @author mahl2
 * @date 2024-02-05
 */
public interface ITQualityFileItemService 
{
    /**
     * 查询质量问题拆分明细
     * 
     * @param id 质量问题拆分明细主键
     * @return 质量问题拆分明细
     */
    public TQualityFileItem selectTQualityFileItemById(Long id);


    /**
     * 查询质量问题拆分明细列表
     * 
     * @param tQualityFileItem 质量问题拆分明细
     * @return 质量问题拆分明细集合
     */
    public List<TQualityFileItem> selectTQualityFileItemList(TQualityFileItem tQualityFileItem);

    /**
     * 查询质量问题我的待办列表
     *
     * @param tQualityFileItem 质量问题我的待办列表
     * @return 质量问题我的待办列表
     */
    public List<TQualityFileItem> selectCheckLedger(TQualityFileItem tQualityFileItem);

    /**
     * 查询质量问题操作明细
     *
     * @param id 质量问题拆分主键
     * @return 质量问题操作明细
     */
    public TQualityFileItemReviewDTO selectReviewDetail(Long id);

    /**
     * 查询质量问题操作明细-前端要的操作详情
     *
     * @param id 质量问题拆分主键
     * @return 质量问题操作明细
     */
    public TQualityFileItemReviewDTO2 selectReviewDetail2(Long id);

    /**
     * 查询复查明细
     *
     * @param id 质量问题拆分主键
     * @return 质量问题复查明细
     */
    public TQualityReviewDTO selectReviewCheck(Long id);

    /**
     * 查询复查明细-整改
     *
     * @param id 详情信息id, recordId 质量问题拆分主键
     * @return 质量问题整改-复查明细
     */
    public TQualityBizRectifyReviewDTO selectChildReview(Long id, Long recordId);

    /**
     * 查询复查明细-复查
     *
     * @param id 详情信息id, recordId 质量问题拆分主键
     * @return 质量问题整改-复查明细
     */
    public TQualityBizRectifyReviewDTO2 selectChildReview2(Long id, Long recordId);

    /**
     * 查询复查明细-延期申请
     *
     * @param id 详情信息id, recordId 质量问题拆分主键
     * @return 质量问题延期申请明细
     */
    public BizExtensionRequests selectChildCheck(Long id, Long recordId);

    /**
     * 询复查明细-移交
     *
     * @param id 详情信息id, recordId 质量问题拆分主键
     * @return 质量问题移交明细
     */
    public BizRectifyReview selectChildTransfer(Long id, Long recordId);

    /**
     * 查询质量问题我的审核列表
     *
     * @param tQualityFileItem 质量问题我的审核列表
     * @return 质量问题我的审核列表
     */
    public List<TQualityFileItem> selectExtensionLedger(TQualityFileItem tQualityFileItem);


    /**
     * 新增质量问题拆分明细
     * 
     * @param tQualityFileItem 质量问题拆分明细
     * @return 结果
     */
    public int insertTQualityFileItem(TQualityFileItem tQualityFileItem);

    /**
     * 修改质量问题拆分明细
     * 
     * @param tQualityFileItem 质量问题拆分明细
     * @return 结果
     */
    public int updateTQualityFileItem(TQualityFileItem tQualityFileItem);

    /**
     * 批量删除质量问题拆分明细
     * 
     * @param ids 需要删除的质量问题拆分明细主键集合
     * @return 结果
     */
    public int deleteTQualityFileItemByIds(Long[] ids);

    /**
     * 删除质量问题拆分明细信息
     * 
     * @param id 质量问题拆分明细主键
     * @return 结果
     */
    public int deleteTQualityFileItemById(Long id);


    Boolean addRectifyReview(BizRectifyReviewDTO bizRectifyReviewDTO);

    Boolean addRectifyReview(TQualityBizRectifyReviewDTO tQualityBizRectifyReview);

    TIndexData2 getQuestionInfo(String projectId);

}
